A typical Graphical User Interface (GUI) presents a user with many onscreen objects which are used to accept input from a user, such as menus, dialog boxes, list boxes, buttons, icons or windows themselves. In the most simple example of how such a GUI accepts input from a user, the user positions his or her input device cursor, e.g., an arrow, over the object and selects the object through some sort of action, e.g. clicking a button on a mouse. Typically the onscreen object to be selected is represented by a small number of pixels (as compared to the entire screen area). The user must locate the mouse cursor at its current position on the screen, maneuver and focus the cursor on the few pixels which represent the object to be selected, and pick the object using the pick button of the input device. In some cases, especially where the input device is difficult to use, such as a mouse or other pointing device associated with a laptop computer, this task can take a disproportionate amount of effort and concentration.
In most cases, the actual required "effective resolution" of the menu/control item "targets" is low. The actual accuracy needed to hit a target item out of the total field of targets would be well below the accuracy demanded by the pixel-by-pixel mode of the input device and its cursor display. For example, in a typical dialog box there may be only 5 or 10 choices of buttons or text input areas. Each of these selectable choices are represented by an onscreen area of approximately 300 square pixels. However, to select a particular button, the user must position the cursor over this 300 square pixel target from the total screen field of approximately 300,000 square pixels. Thus, the pointing device must be accurate and steady enough to hit a target 1/1000 the size of the field. Yet the 10 choices in the field would ideally require only the ability to hit a target 1/10 the size of the field. Thus the act of picking a menu choice is at least 100 times as difficult as it needs to be.
Accordingly, it is an object of this invention to greatly increase the ease of use of an input device such as mouse or other pointing device in a Graphical User Interface environment.
It is also and object of the present invention to increase the efficiency of such an input device in enabling the selection of an onscreen item such as an icon or a dialog box button.
It is a further object of the present invention to decrease the likelihood of error in selecting an onscreen object.